import { defineStore } from 'pinia'
import { getCategoryAPI } from '@/apis/layout.js';
import { ref } from 'vue'

// 下面这个仓库用于存储和管理导航列表的数据
// defineStore中有两个参数，第一个参数代表这个这个被定义的仓库的名称，第二个参数代表这个被定义的仓库的值，当前这个仓库是一个函数
export const useCategoryStore = defineStore('category', () => {
    // 定义 state ，用于存储导航目录列表
    const categoryList = ref([])

    // 定义 action
    const getCategory = async () => {
        // await 后面接一个异步请求函数，它可以保证这个异步请求函数执行完毕，结果返回后才继续执行下面的代码
        // await 必须在 async 函数中
        const res = await getCategoryAPI()
        categoryList.value = res.result
    }

    return {
        categoryList,
        getCategory
    }
})